#include <stdio.h>
// #include <stdlib.h>
#define w   200
#define h   200

// 定义函数WriteBMP，用于将像素数据写入BMP文件
void WriteBMP(char *img,const char* filename)
{
    // 计算像素数据的字节数
    int l= (w*3+3)/4*4;
    // 定义BMI数组，用于存储BMP文件头
    int bmi[]={l*h+54,0,54,40,w,h,1|3*8<<16,0,l*h,0,0,100,0};
    // 打开文件，以二进制写入模式
    FILE *fp = fopen(filename,"wb");
    // 写入BMP文件头
    fprintf(fp,"BM");
    fwrite(&bmi,52,1,fp);
    // 写入像素数据
    fwrite(img,1,l*h,fp);
    // 关闭文件
    fclose(fp);
}

int main()
{
    char img[w*h*3];
    for(int i=0; i<w*h*3; i++) img[i]=rand()%256;
    WriteBMP(img,"demo02.bmp");
    system("demo02.bmp");
    return 0;
}